perm filename CALLTF.PAS[S1,ALS] blob
sn#465797 filedate 1979-08-08 generic text, type T, neo UTF8
(*$A+,D+*)
program TreeCall(Output);
const MAXDEPTH = 5;
type Depth = 1..MAXDEPTH;
var CallDepth : Depth;
NodeNumber : integer;
LastF, F, NextF : integer;
procedure Heading;
begin
write(' Depth Node Fibonacci Depth Node Fibonacci ');
writeln('Depth Node Fibonacci');
end;
function ReturnVal : integer;
begin
ReturnVal := LastF + F; (* Generates FIBONACCI numbers*)
end;
procedure Branch(CallDepth : Depth);
begin
write(CallDepth : 9, NodeNumber : 4, F : 14);
NextF := ReturnVal;
LastF := F;
F := NextF;
if NodeNumber mod 3 = 0 then writeln;
NodeNumber := NodeNumber + 1;
if CallDepth < MAXDEPTH then
begin
Branch(CallDepth + 1);
Branch(CallDepth + 1);
end;
end;
begin
CallDepth := 1;
NodeNumber := 1;
LastF := 0;
F := 1;
NextF := 1;
Heading;
Branch(CallDepth);
writeln;
end.